import {
	defineStore
} from 'pinia'
import {
	ref
} from 'vue'

// 定义 Store
export const useInfoStore = defineStore(
	'App-token',
	() => {

		const userInfo = ref()

		// 保存会员信息，登录时使用
		const setUserInfo = (val) => {
			userInfo.value = val
		}

		// 清理会员信息，退出时使用
		const clearUserInfo = () => {
			userInfo.value = undefined
		}

		// 记得 return
		return {
			userInfo,
			setUserInfo,
			clearUserInfo,
		}
	},
	// TODO: 持久化
	{
		// 配置持久化
		persist: {
			// 调整为兼容多端的API
			storage: {
				setItem(key, value) {
					uni.setStorageSync(key, value) // [!code warning]
				},
				getItem(key) {
					return uni.getStorageSync(key) // [!code warning]
				},
			},
		},
	},
)